package com.bbva.itradecomex.bo.impl;

import java.math.BigDecimal;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.bbva.itradecomex.bo.iface.ModalProductoBO;
import com.bbva.itradecomex.dao.iface.ModalProductoDAO;
import com.bbva.itradecomex.domain.FinanciamientoDetalle;
import com.bbva.itradecomex.domain.MediosDePagoDetalle;
import com.bbva.itradecomex.domain.ModalLiquidacionCobroDet;
import com.bbva.itradecomex.domain.ModalLiquidacionGastoDet;
import com.bbva.itradecomex.domain.ModalProdAfectacion;
import com.bbva.itradecomex.domain.ModalProdCabCDICDE;
import com.bbva.itradecomex.domain.ModalProdCabCOICOE;
import com.bbva.itradecomex.domain.ModalProdCabTransferencia;
import com.bbva.itradecomex.domain.ModalProdNegocPagoCuota;
import com.bbva.itradecomex.domain.ModalProductoContacto;
import com.bbva.itradecomex.domain.ModalProductoFinanc;
import com.bbva.itradecomex.domain.ModalProductoLiquidacion;
import com.bbva.itradecomex.domain.ModalProductoMercaderia;
import com.bbva.itradecomex.form.FlujoExportacionForm;
import com.bbva.itradecomex.form.FlujoImportacionForm;

@Service
public class ModalProductoBOImpl implements ModalProductoBO {
	
	@Autowired
	private ModalProductoDAO modalProductoDAO;
	
	@Override
	public ModalProductoFinanc getModalProductoFinanc(BigDecimal idOper) throws Exception {
		
		return modalProductoDAO.getModalProductoFinanc(idOper);
	}

	@Override
	public List<ModalProdNegocPagoCuota> getListModalProdNegocPagoCuota(BigDecimal idOper)
			throws Exception {
		
		return modalProductoDAO.getListModalProdNegocPagoCuota(idOper);
	}

	@Override
	public List<ModalProductoContacto> getListModalProductoContacto(BigDecimal idOper)
			throws Exception {
		
		return modalProductoDAO.getListModalProductoContacto(idOper);
	}

	@Override
	public List<ModalProductoLiquidacion> getListModalProductoLiquidacion(BigDecimal idOper)
			throws Exception {
		
		return modalProductoDAO.getListModalProductoLiquidacion(idOper);
	}

	@Override
	public List<ModalProductoMercaderia> getListModalProductoMercaderia(BigDecimal idOper)
			throws Exception {
		
		return modalProductoDAO.getListModalProductoMercaderia(idOper);
	}

	@Override
	public ModalProdCabTransferencia getModalProdCabTransferencia(BigDecimal idOper)
			throws Exception {
		
		return modalProductoDAO.getModalProdCabTransferencia(idOper);
	}

	@Override
	public ModalProdCabCDICDE getModalProdCabCDICDE(BigDecimal idOper)
			throws Exception {

		return modalProductoDAO.getModalProdCabCDICDE(idOper);
	}

	@Override
	public ModalProdCabCOICOE getModalProdCabCOICOE(BigDecimal idOper)
			throws Exception {

		return modalProductoDAO.getgetModalProdCabCOICOE(idOper);
	}

	@Override
	public List<ModalProdAfectacion> getListModalProdAfectacion(BigDecimal idOper)
			throws Exception {
		
		return modalProductoDAO.getListModalProdAfectacion(idOper);
	}

	@Override
	public List<ModalLiquidacionGastoDet> getConsLiquidacionGasto(
			String idOperacion, String idLiquidacion) throws Exception {
		return modalProductoDAO.getConsLiquidacionGasto(idOperacion, idLiquidacion);
	}

	@Override
	public List<ModalLiquidacionCobroDet> getConsLiquidacionCobro(
			String idOperacion, String idLiquidacion) throws Exception {
		return modalProductoDAO.getConsLiquidacionCobro(idOperacion, idLiquidacion);
	}
	
	@Override
	public List<MediosDePagoDetalle> getListModalContactosClienteMDP(String idCliente, BigDecimal idContacto, 
			String codProdMT) throws Exception{
		return modalProductoDAO.getListModalContactosClienteMDP(idCliente, idContacto, codProdMT);
	}
	
	@Override
	public List<FinanciamientoDetalle> getListModalContactosClienteFIA(String idCliente, BigDecimal idContacto, 
			String codProdMT) throws Exception{
		return modalProductoDAO.getListModalContactosClienteFIA(idCliente, idContacto, codProdMT);
	}

	@Override
	public List<MediosDePagoDetalle> getModalFlujoImpMDPTablaSuperior(
			FlujoImportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoImpMDPTablaSuperior(formulario);
	}

	@Override
	public List<MediosDePagoDetalle> getModalFlujoImpMDPTablaInferiorOPH(
			FlujoImportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoImpMDPTablaInferiorOPH(formulario);
	}

	@Override
	public List<MediosDePagoDetalle> getModalFlujoImpMDPTablaInferiorIMP(
			FlujoImportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoImpMDPTablaInferiorIMP(formulario);
	}

	@Override
	public List<MediosDePagoDetalle> getModalFlujoExpMDPTablaSuperior(
			FlujoExportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoExpMDPTablaSuperior(formulario);
	}

	@Override
	public List<MediosDePagoDetalle> getModalFlujoExpMDPTablaInferiorOPH(
			FlujoExportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoExpMDPTablaInferiorOPH(formulario);
	}

	@Override
	public List<MediosDePagoDetalle> getModalFlujoExpMDPTablaInferiorIMP(
			FlujoExportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoExpMDPTablaInferiorIMP(formulario);
	}

	@Override
	public List<MediosDePagoDetalle> getModalFlujoExpMDPTablaInferiorAFE(
			FlujoExportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoExpMDPTablaInferiorAFE(formulario);
	}

	@Override
	public List<FinanciamientoDetalle> getModalFlujoImpFIATablaSuperior(
			FlujoImportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoImpFIATablaSuperior(formulario);
	}

	@Override
	public List<FinanciamientoDetalle> getModalFlujoImpFIATablaInferiorOPH(
			FlujoImportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoImpFIATablaInferiorOPH(formulario);
	}

	@Override
	public List<FinanciamientoDetalle> getModalFlujoImpFIATablaInferiorIMP(
			FlujoImportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoImpFIATablaInferiorIMP(formulario);
	}

	@Override
	public List<FinanciamientoDetalle> getModalFlujoImpFIATablaInferiorPRO(
			FlujoImportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoImpFIATablaInferiorPRO(formulario);
	}

	@Override
	public List<FinanciamientoDetalle> getModalFlujoExpFIATablaSuperior(
			FlujoExportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoExpFIATablaSuperior(formulario);
	}

	@Override
	public List<FinanciamientoDetalle> getModalFlujoExpFIATablaInferiorOPH(
			FlujoExportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoExpFIATablaInferiorOPH(formulario);
	}

	@Override
	public List<FinanciamientoDetalle> getModalFlujoExpFIATablaInferiorIMP(
			FlujoExportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoExpFIATablaInferiorIMP(formulario);
	}

	@Override
	public List<FinanciamientoDetalle> getModalFlujoExpFIATablaInferiorPRO(
			FlujoExportacionForm formulario) throws Exception {
		return modalProductoDAO.getModalFlujoExpFIATablaInferiorPRO(formulario);
	}
}
